package com.sky.chapter3.bq;

import java.util.LinkedList;
import java.util.Queue;
import java.util.concurrent.ExecutionException;

/**
 * @author : wushikai
 * <p>
 * date : 2022-07-13
 *
 *
 * poll:
 * 民意调查
 * 英式:[pəʊl];美式:[poʊl]
 *
 * 本地释义:
 * n. 民意调查，民意测验；选举投票，计票；投票数；投票点（the polls）；头顶，头皮；无角动物（尤指无角牛）
 * v. 对……进行民意测验（调查）；获得（票数）；（电信，计算机）轮询，
 * 截掉（动物，尤指小牛）的角；
 *
 *
 * peek:
 * 偷看
 * 英式:[piːk];美式:[piːk]
 *
 * 本地释义:
 * v. 偷看，窥视；微露出，探出
 * n. 一瞥，偷偷地一看；（计算机）读取数据
 *
 *
 */
public class QueueDemo {



    public static void main(String[] args) {
        //add()和remove()方法在失败的时候会抛出异常(不推荐)
        LinkedList<String> queue = new LinkedList< >();

        System.out.println("queue.poll()= " +  queue.poll());
        System.out.println("queue.peek() = " + queue.peek());
        try {

            System.out.println("queue.element() = " + queue.element());  //没有则抛异常
        }catch (Exception e){
             e.printStackTrace();
        }



        //添加元素
        queue.offer("a");
        queue.offer("b");
        queue.offer("c");
        queue.offer("d");
        queue.offer("e");
   /*     for(String q : queue){
            System.out.println(q);
        }*/
        System.out.println("===");
        System.out.println("INFO poll="+queue.poll()); //返回第一个元素，并在队列中删除
        for(String q : queue){
            System.out.println(q);
        }
        System.out.println("===");
        System.out.println("WARN  element="+queue.element()); //返回第一个元素
        for(String q : queue){
            System.out.println(q);
        }
        System.out.println("===");
        System.out.println("INFO peek="+queue.peek()); //返回第一个元素
        for(String q : queue){
            System.out.println(q);
        }
    }


}
